/**
 * 处理菜单数据,将原始数据转换为树形结构
 * @param {Array} data - 原始菜单数据
 * @returns {Array} - 处理后的树形结构数据
 */
export function processMenuData(data) {
  return data.map((item) => {
    const node = {
      id: item.id,
      name: item.name,
      url: item.url,
      isShow: item.isShow,
      children: []
    }

    // 处理子菜单
    if (item.menus && item.menus.length > 0) {
      node.children = item.menus.map((subMenu) => {
        const subNode = {
          id: subMenu.id,
          name: subMenu.name,
          url: subMenu.url,
          isShow: subMenu.isShow,
          children: []
        }

        // 处理功能列表作为第三级
        if (subMenu.functions && subMenu.functions.length > 0) {
          subNode.children = subMenu.functions.map((func) => ({
            id: func.id,
            name: func.name,
            type: func.type,
            number: func.number
          }))
        }

        return subNode
      })
    }

    // 处理一级菜单的功能列表
    if (item.functions && item.functions.length > 0) {
      node.children = node.children.concat(
        item.functions.map((func) => ({
          id: func.id,
          name: func.name,
          type: func.type,
          number: func.number
        }))
      )
    }

    return node
  })
}
